<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>vtabi</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="vtablewa.html" title="vtablewa" />
    <link rel="next" href="vtabk.html" title="vtabk" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">vtabi</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="vtablewa.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="vtabk.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="vtabi"></a>
      <div class="titlepage"></div>
      <a id="IndexVtabi" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">vtabi</span>
        </h2>
        <p>vtabi — 
      Read vectors (from tables -or arrays of vectors).
    </p>
      </div>
      <div class="refsect1">
        <a id="idp167151712"></a>
        <h2>Description</h2>
        <p>
      This opcode reads vectors from tables.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp167152960"></a>
        <h2>Syntax</h2>
        <pre class="synopsis"><span class="command"><strong>vtabi</strong></span>  indx, ifn, iout1 [, iout2, iout3, .... , ioutN ]</pre>
      </div>
      <div class="refsect1">
        <a id="idp167220848"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>indx</em></span> - Index into f-table, either a positive number range matching the table length</p>
        <p>
      <span class="emphasis"><em>ifn</em></span> - table number
      </p>
        <p>
      <span class="emphasis"><em>iout1...ioutN</em></span> - output vector elements
      </p>
      </div>
      <div class="refsect1">
        <a id="idp167224112"></a>
        <h2>Performance</h2>
        <p>
      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<span class="emphasis"><em>iout1</em></span>, <span class="emphasis"><em>iout2</em></span>, <span class="emphasis"><em>iout3</em></span>, ....  <span class="emphasis"><em>ioutN</em></span>).
    </p>
        <p>
      Notice that no wrap nor limit mode is implemented.  So, if an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <span class="emphasis"><em>vtabi</em></span>, in order to correct eventual out-of-range values.
    </p>
        <p>
      The <span class="command"><strong>vtab</strong></span> family is similar to <span class="command"><strong>vtable</strong></span>, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
    </p>
        <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
          <table border="0" summary="Note">
            <tr>
              <td rowspan="2" align="center" valign="top" width="25">
                <img alt="[Note]" src="images/note.png" />
              </td>
              <th align="left">Note</th>
            </tr>
            <tr>
              <td align="left" valign="top">
                <p>
        Notice that <span class="emphasis"><em>vtabi</em></span>'s output arguments are placed at the right of the opcode name, differently from usual (this style is already used in other opcodes using undefined lists of output arguments such as <a class="link" href="fin.html" title="fin"><em class="citetitle">fin</em></a> or <a class="link" href="trigseq.html" title="trigseq"><em class="citetitle">trigseq</em></a>).
      </p>
              </td>
            </tr>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="idp167233808"></a>
        <h2>Examples</h2>
        <p>
      For an example of the vtabi opcode usage, see <a class="link" href="vtablei.html" title="vtablei"><em class="citetitle">vtablei</em></a>.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp167236016"></a>
        <h2>See also</h2>
        <p>
      <a class="link" href="vtabk.html" title="vtabk"><em class="citetitle">vtabk</em></a>,
      <a class="link" href="vtaba.html" title="vtaba"><em class="citetitle">vtaba</em></a>,
      <a class="link" href="vtablei.html" title="vtablei"><em class="citetitle">vtablei</em></a>,
      <a class="link" href="vtablewi.html" title="vtablewi"><em class="citetitle">vtablewi</em></a>,
      <a class="link" href="vtabwi.html" title="vtabwi"><em class="citetitle">vtabwi</em></a>,
    </p>
      </div>
      <div class="refsect1">
        <a id="idp167242000"></a>
        <h2>Credits</h2>
        <p>Written by Gabriel Maldonado.</p>
        <p>New in Csound 5 (Previously available only on CsoundAV)</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="vtablewa.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="vtabk.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">vtablewa </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> vtabk</td>
        </tr>
      </table>
    </div>
  </body>
</html>
